package com.tarcemap.gpsmobileappgui;

import com.tracemap.gpslocation.GPSManager;
import com.tracemap.gpslocation.R;
import com.tracemap.gpslocation.R.id;
import com.tracemap.gpslocation.R.layout;

import android.app.Activity;
import android.app.TabActivity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.location.LocationManager;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.view.LayoutInflater;
import android.view.Window;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TabHost;
import android.widget.TextView;

public class WannaMainActivity extends TabActivity {
	//private TabHost tabHost;
	public String deviceid=""; 
	public String tel=""; 
	public String imei="";
	public String imsi="";
	private GPSManager gpsmgr;
	
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
		//
		TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
        deviceid = tm.getDeviceId(); 
        tel = tm.getLine1Number(); 
        imei =tm.getSimSerialNumber();
        imsi =tm.getSubscriberId();
		
		
		
		//tabHost = getTabHost();

		setContentView(R.layout.main);

	    Resources res = getResources(); // Resource object to get Drawables
	    TabHost tabHost = getTabHost();  // The activity TabHost
	    TabHost.TabSpec spec;  // Resusable TabSpec for each tab
	    Intent intent;  // Reusable Intent for each tab

	    // Create an Intent to launch an Activity for the tab (to be reused)
	    intent = new Intent().setClass(this, WannaTabActivity.class);

	    // Initialize a TabSpec for each tab and add it to the TabHost
	    spec = tabHost.newTabSpec("artists").setIndicator("Wanna",
	                      res.getDrawable(R.drawable.ic_tab_input))
	                  .setContent(intent);
	    tabHost.addTab(spec);

	    // Do the same for the other tabs
	    intent = new Intent().setClass(this, WannaMapActivity.class);
	    spec = tabHost.newTabSpec("albums").setIndicator("Map",
	                      res.getDrawable(R.drawable.ic_tab_map))
	                  .setContent(intent);
	    tabHost.addTab(spec);

	    intent = new Intent().setClass(this, WannaDebugTableActivity.class);
	    spec = tabHost.newTabSpec("songs").setIndicator("Debug",
	                      res.getDrawable(R.drawable.ic_tab_debug))
	                  .setContent(intent);
	    tabHost.addTab(spec);
	    
	    intent = new Intent().setClass(this, WannaShowRouteActivity.class);
	    spec = tabHost.newTabSpec("route").setIndicator("route",
	                      res.getDrawable(R.drawable.ic_tab_route))
	                  .setContent(intent);
	    tabHost.addTab(spec);
	    
	    tabHost.setCurrentTabByTag("albums");
        
		//createTabSpec_map();
		//createTabSpec_hs();
		
		//createTabSpec_debug();
	    gpsmgr= GPSManager.getInstance((LocationManager) this.getSystemService(Context.LOCATION_SERVICE));
		
	}

	@Override
	protected void onPause() {
		if (gpsmgr != null) {
			gpsmgr.stopGPS();
			gpsmgr.closeGPS();
		}
		super.onPause();
	}
	
	private void createTabSpec_map() {
		//LayoutInflater inflater_tab1 = LayoutInflater.from(this);
		//inflater_tab1.inflate(R.layout.wannain, tabHost.getTabContentView());

		/*
		 * R.layout.tab_demo已被LayoutInflater注册，所以这个可以通过findViewById获得其对象
		 */
		//FrameLayout frameLayout = (FrameLayout) findViewById(R.id.tab_map_id);
		//MapView mv = new MapView(this);
		//frameLayout.addView(mv);

		//TabHost.TabSpec spec = tabHost.newTabSpec("debug view").setIndicator("debug view").setContent(i); // <- references the intent we just created
        //tabHost.addTab(spec);
		//tabHost.addTab(tabSpec_map);
	}

	private void createTabSpec_hs() {
		//LayoutInflater inflater_tab2 = LayoutInflater.from(this);
		//inflater_tab2.inflate(R.layout.wannamap, tabHost.getTabContentView());

		//TabHost.TabSpec tabSpec_hs = tabHost.newTabSpec("hs view");
		//tabSpec_hs.setIndicator("hs view");
		//tabSpec_hs.setContent(R.id.tab_hs_id); // 绑定一个新的Layout
		//tabHost.addTab(tabSpec_hs);

		/*
		 * 这个绑定View的操作必须要重新使用一个新方法来完成，因为Tab的生成是在onCreate()中完成的，onCreate()只被调用一次，
		 * 但是数据更新操作是需要反复进行的，如果反复调用createTabSpec_hs()则会生成多个tab页，这是我们不希望的，所以单独把
		 * updata分离出来，数据更新时单独调用此方法就可以了。
		 */
	}
	private void createTabSpec_debug() {
		//LayoutInflater inflater_tab3 = LayoutInflater.from(this);
		//inflater_tab3.inflate(R.layout.main, tabHost.getTabContentView());

		//LinearLayout frameLayout = (LinearLayout) findViewById(R.id.tab_debug_id);
		//GPSLocationView mv = new GPSLocationView(this);
		//frameLayout.addView(mv);
		
		// Create an Intent to launch given Activty for this tab
        Intent i = new Intent().setClass(this, WannaDebugTableActivity.class);
        //TabHost.TabSpec spec = tabHost.newTabSpec("debug view").setIndicator("debug view").setContent(i); // <- references the intent we just created
        //tabHost.addTab(spec);
		
		//TabHost.TabSpec tabSpec_hs = tabHost.newTabSpec("debug view");
		//tabSpec_hs.setIndicator("debug view");
		//tabSpec_hs.setContent(R.id.tab_debug_id); // 绑定一个新的Layout
		//tabHost.addTab(tabSpec_hs);
		
		/*
		 * 这个绑定View的操作必须要重新使用一个新方法来完成，因为Tab的生成是在onCreate()中完成的，onCreate()只被调用一次，
		 * 但是数据更新操作是需要反复进行的，如果反复调用createTabSpec_hs()则会生成多个tab页，这是我们不希望的，所以单独把
		 * updata分离出来，数据更新时单独调用此方法就可以了。
		 */
	}

}
